var runtime.mheap_
186 uses
runtime (current package)
heapdump.go#L453: for _, s := range mheap_.allspans {
heapdump.go#L479: for _, s := range mheap_.allspans {
heapdump.go#L516: for i1 := range mheap_.arenas {
heapdump.go#L517: if mheap_.arenas[i1] == nil {
heapdump.go#L520: for i, ha := range mheap_.arenas[i1] {
heapdump.go#L651: for _, s := range mheap_.allspans {
heapdump.go#L674: for _, s := range mheap_.allspans {
malloc.go#L487: mheap_.init()
malloc.go#L553: hint := (*arenaHint)(mheap_.arenaHintAlloc.alloc())
malloc.go#L555: hint.next, mheap_.arenaHints = mheap_.arenaHints, hint
malloc.go#L578: mheap_.heapArenaAlloc.init(meta, arenaMetaSize, true)
malloc.go#L601: if mheap_.heapArenaAlloc.next <= p && p < mheap_.heapArenaAlloc.end {
malloc.go#L602: p = mheap_.heapArenaAlloc.end
malloc.go#L615: mheap_.arena.init(uintptr(a), size, false)
malloc.go#L616: p = mheap_.arena.end // For hint below
malloc.go#L620: hint := (*arenaHint)(mheap_.arenaHintAlloc.alloc())
malloc.go#L622: hint.next, mheap_.arenaHints = mheap_.arenaHints, hint
malloc.go#L706: hint.next, mheap_.arenaHints = mheap_.arenaHints, hint
malloc.go#L709: hint.next, mheap_.arenaHints = mheap_.arenaHints, hint
mbitmap.go#L321: ha := mheap_.arenas[arena.l1()][arena.l2()]
mbitmap.go#L459: l2 := mheap_.arenas[ai.l1()]
mbitmap.go#L494: if l2 := mheap_.arenas[ai.l1()]; l2 != nil && l2[ai.l2()] != nil {
mbitmap.go#L1888: s := mheap_.allocManual(pages, spanAllocPtrScalarBits)
mbitmap.go#L1893: mheap_.freeManual(s, spanAllocPtrScalarBits)
mcache.go#L87: lock(&mheap_.lock)
mcache.go#L88: c = (*mcache)(mheap_.cachealloc.alloc())
mcache.go#L89: c.flushGen = mheap_.sweepgen
mcache.go#L90: unlock(&mheap_.lock)
mcache.go#L115: lock(&mheap_.lock)
mcache.go#L116: mheap_.cachealloc.free(unsafe.Pointer(c))
mcache.go#L117: unlock(&mheap_.lock)
mcache.go#L155: if s.sweepgen != mheap_.sweepgen+3 {
mcache.go#L158: mheap_.central[spc].mcentral.uncacheSpan(s)
mcache.go#L162: s = mheap_.central[spc].mcentral.cacheSpan()
mcache.go#L173: s.sweepgen = mheap_.sweepgen + 3
mcache.go#L213: s := mheap_.alloc(npages, spc)
mcache.go#L227: mheap_.central[spc].mcentral.fullSwept(mheap_.sweepgen).push(s)
mcache.go#L238: sg := mheap_.sweepgen
mcache.go#L259: mheap_.central[i].mcentral.uncacheSpan(s)
mcache.go#L288: sg := mheap_.sweepgen
mcache.go#L297: atomic.Store(&c.flushGen, mheap_.sweepgen) // Synchronizes with gcStart
mcentral.go#L108: sg := mheap_.sweepgen
mcentral.go#L199: sg := mheap_.sweepgen
mcentral.go#L244: s := mheap_.alloc(npages, c.spanclass)
mcheckmark.go#L40: for _, ai := range mheap_.allArenas {
mcheckmark.go#L41: arena := mheap_.arenas[ai.l1()][ai.l2()]
mcheckmark.go#L90: arena := mheap_.arenas[ai.l1()][ai.l2()]
metrics.go#L439: lock(&mheap_.lock)
metrics.go#L441: a.mSpanInUse = uint64(mheap_.spanalloc.inuse)
metrics.go#L443: a.mCacheInUse = uint64(mheap_.cachealloc.inuse)
metrics.go#L444: unlock(&mheap_.lock)
mgc.go#L635: if fg := atomic.Load(&p.mcache.flushGen); fg != mheap_.sweepgen {
mgc.go#L636: println("runtime: p", p.id, "flushGen", fg, "!= sweepgen", mheap_.sweepgen)
mgc.go#L1460: lock(&mheap_.lock)
mgc.go#L1461: mheap_.sweepgen += 2
mgc.go#L1463: mheap_.pagesSwept.Store(0)
mgc.go#L1464: mheap_.sweepArenas = mheap_.allArenas
mgc.go#L1465: mheap_.reclaimIndex.Store(0)
mgc.go#L1466: mheap_.reclaimCredit.Store(0)
mgc.go#L1467: unlock(&mheap_.lock)
mgc.go#L1474: lock(&mheap_.lock)
mgc.go#L1475: mheap_.sweepPagesPerByte = 0
mgc.go#L1476: unlock(&mheap_.lock)
mgc.go#L1522: lock(&mheap_.lock)
mgc.go#L1523: arenas := mheap_.allArenas
mgc.go#L1524: unlock(&mheap_.lock)
mgc.go#L1526: ha := mheap_.arenas[ai.l1()][ai.l2()]
mgc.go#L1652: lock(&mheap_.speciallock)
mgc.go#L1653: s := (*specialReachable)(mheap_.specialReachableAlloc.alloc())
mgc.go#L1654: unlock(&mheap_.speciallock)
mgc.go#L1679: lock(&mheap_.speciallock)
mgc.go#L1680: mheap_.specialReachableAlloc.free(unsafe.Pointer(s))
mgc.go#L1681: unlock(&mheap_.speciallock)
mgcmark.go#L96: mheap_.markArenas = mheap_.allArenas[:len(mheap_.allArenas):len(mheap_.allArenas)]
mgcmark.go#L97: work.nSpanRoots = len(mheap_.markArenas) * (pagesPerArena / pagesPerSpanRoot)
mgcmark.go#L336: sg := mheap_.sweepgen
mgcmark.go#L339: ai := mheap_.markArenas[shard/(pagesPerArena/pagesPerSpanRoot)]
mgcmark.go#L340: ha := mheap_.arenas[ai.l1()][ai.l2()]
mgcpacer.go#L984: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcpacer.go#L1217: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcpacer.go#L1236: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcpacer.go#L1255: lock(&mheap_.lock)
mgcpacer.go#L1259: unlock(&mheap_.lock)
mgcscavenge.go#L121: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcscavenge.go#L128: atomic.Store64(&mheap_.scavengeGoal, ^uint64(0))
mgcscavenge.go#L160: atomic.Store64(&mheap_.scavengeGoal, ^uint64(0))
mgcscavenge.go#L163: atomic.Store64(&mheap_.scavengeGoal, retainedGoal)
mgcscavenge.go#L317: retained, goal := heapRetained(), atomic.Load64(&mheap_.scavengeGoal)
mgcscavenge.go#L336: r := mheap_.pages.scavenge(scavengeQuantum)
mgcscavenge.go#L337: atomic.Xadduintptr(&mheap_.pages.scav.released, r)
mgcsweep.go#L156: return sweepLocker{mheap_.sweepgen, false}
mgcsweep.go#L159: return sweepLocker{mheap_.sweepgen, true}
mgcsweep.go#L167: if sl.sweepGen != mheap_.sweepgen {
mgcsweep.go#L180: print("pacer: sweep done at heap size ", gcController.heapLive>>20, "MB; allocated ", (gcController.heapLive-mheap_.sweepHeapLiveBasis)>>20, "MB during sweep; swept ", mheap_.pagesSwept.Load(), " pages at ", mheap_.sweepPagesPerByte, " pages/byte\n")
mgcsweep.go#L256: sg := mheap_.sweepgen
mgcsweep.go#L257: for i := range mheap_.central {
mgcsweep.go#L258: c := &mheap_.central[i].mcentral
mgcsweep.go#L351: s := mheap_.nextSpanForSweep()
mgcsweep.go#L373: mheap_.reclaimCredit.Add(npages)
mgcsweep.go#L402: lock(&mheap_.lock)
mgcsweep.go#L403: mheap_.pages.scavengeStartGen()
mgcsweep.go#L404: unlock(&mheap_.lock)
mgcsweep.go#L483: sweepgen := mheap_.sweepgen
mgcsweep.go#L493: mheap_.pagesSwept.Add(int64(s.npages))
mgcsweep.go#L680: mheap_.freeSpan(s)
mgcsweep.go#L685: mheap_.central[spc].mcentral.fullSwept(sweepgen).push(s)
mgcsweep.go#L687: mheap_.central[spc].mcentral.partialSwept(sweepgen).push(s)
mgcsweep.go#L713: mheap_.freeSpan(s)
mgcsweep.go#L723: mheap_.central[spc].mcentral.fullSwept(sweepgen).push(s)
mgcsweep.go#L797: if mheap_.sweepPagesPerByte == 0 {
mgcsweep.go#L807: sweptBasis := mheap_.pagesSweptBasis.Load()
mgcsweep.go#L810: newHeapLive := uintptr(atomic.Load64(&gcController.heapLive)-mheap_.sweepHeapLiveBasis) + spanBytes
mgcsweep.go#L811: pagesTarget := int64(mheap_.sweepPagesPerByte*float64(newHeapLive)) - int64(callerSweepPages)
mgcsweep.go#L812: for pagesTarget > int64(mheap_.pagesSwept.Load()-sweptBasis) {
mgcsweep.go#L814: mheap_.sweepPagesPerByte = 0
mgcsweep.go#L817: if mheap_.pagesSweptBasis.Load() != sweptBasis {
mgcsweep.go#L843: assertWorldStoppedOrLockHeld(&mheap_.lock)
mgcsweep.go#L847: mheap_.sweepPagesPerByte = 0
mgcsweep.go#L864: pagesSwept := mheap_.pagesSwept.Load()
mgcsweep.go#L865: pagesInUse := mheap_.pagesInUse.Load()
mgcsweep.go#L868: mheap_.sweepPagesPerByte = 0
mgcsweep.go#L870: mheap_.sweepPagesPerByte = float64(sweepDistancePages) / float64(heapDistance)
mgcsweep.go#L871: mheap_.sweepHeapLiveBasis = heapLiveBasis
mgcsweep.go#L875: mheap_.pagesSweptBasis.Store(pagesSwept)
mgcwork.go#L117: lockWithRankMayAcquire(&mheap_.lock, lockRankMheap)
mgcwork.go#L360: lockWithRankMayAcquire(&mheap_.lock, lockRankMheap)
mgcwork.go#L375: s = mheap_.allocManual(workbufAlloc/pageSize, spanAllocWorkBuf)
mgcwork.go#L477: mheap_.freeManual(span, spanAllocWorkBuf)
mheap.go#L220: var mheap_ mheap
mheap.go#L636: if ri.l2() >= uint(len(mheap_.arenas[0])) {
mheap.go#L641: if ri.l1() >= uint(len(mheap_.arenas)) {
mheap.go#L645: l2 := mheap_.arenas[ri.l1()]
mheap.go#L664: return mheap_.arenas[ai.l1()][ai.l2()].spans[(p/pageSize)%pagesPerArena]
mheap.go#L690: arena = mheap_.arenas[ai.l1()][ai.l2()]
mheap.go#L1550: systemstack(func() { mheap_.scavengeAll() })
mheap.go#L1692: ha := mheap_.arenas[ai.l1()][ai.l2()]
mheap.go#L1700: ha := mheap_.arenas[ai.l1()][ai.l2()]
mheap.go#L1814: lock(&mheap_.speciallock)
mheap.go#L1815: s := (*specialfinalizer)(mheap_.specialfinalizeralloc.alloc())
mheap.go#L1816: unlock(&mheap_.speciallock)
mheap.go#L1843: lock(&mheap_.speciallock)
mheap.go#L1844: mheap_.specialfinalizeralloc.free(unsafe.Pointer(s))
mheap.go#L1845: unlock(&mheap_.speciallock)
mheap.go#L1855: lock(&mheap_.speciallock)
mheap.go#L1856: mheap_.specialfinalizeralloc.free(unsafe.Pointer(s))
mheap.go#L1857: unlock(&mheap_.speciallock)
mheap.go#L1870: lock(&mheap_.speciallock)
mheap.go#L1871: s := (*specialprofile)(mheap_.specialprofilealloc.alloc())
mheap.go#L1872: unlock(&mheap_.speciallock)
mheap.go#L1923: lock(&mheap_.speciallock)
mheap.go#L1924: mheap_.specialfinalizeralloc.free(unsafe.Pointer(sf))
mheap.go#L1925: unlock(&mheap_.speciallock)
mheap.go#L1929: lock(&mheap_.speciallock)
mheap.go#L1930: mheap_.specialprofilealloc.free(unsafe.Pointer(sp))
mheap.go#L1931: unlock(&mheap_.speciallock)
mpagealloc.go#L565: if p.test || mheap_.arenas[ai.l1()] == nil || mheap_.arenas[ai.l1()][ai.l2()] == nil {
mstats.go#L503: lock(&mheap_.lock)
mstats.go#L524: unlock(&mheap_.lock)
mstats.go#L542: memstats.mcache_inuse = uint64(mheap_.cachealloc.inuse)
mstats.go#L543: memstats.mspan_inuse = uint64(mheap_.spanalloc.inuse)
panic.go#L1116: if mheap_.cachealloc.size == 0 { // very early
proc.go#L4681: mheap_.spanalloc.free(unsafe.Pointer(pp.mspancache.buf[i]))
proc.go#L4684: lock(&mheap_.lock)
proc.go#L4685: pp.pcache.flush(&mheap_.pages)
proc.go#L4686: unlock(&mheap_.lock)
stack.go#L202: lockWithRankMayAcquire(&mheap_.lock, lockRankMheap)
stack.go#L205: s = mheap_.allocManual(_StackCacheSize>>_PageShift, spanAllocStack)
stack.go#L269: mheap_.freeManual(s, spanAllocStack)
stack.go#L410: lockWithRankMayAcquire(&mheap_.lock, lockRankMheap)
stack.go#L414: s = mheap_.allocManual(npage, spanAllocStack)
stack.go#L504: mheap_.freeManual(s, spanAllocStack)
stack.go#L1227: mheap_.freeManual(s, spanAllocStack)
stack.go#L1241: mheap_.freeManual(s, spanAllocStack)